Buy and Redeem Reward Store Offer in Purchase Transaction

This use case describes how a customer might buy and then redeem a reward store offer in a purchase transaction. After getting the customer profile, the use case centers on accessing the reward store and offers that are eligible for the customer. Then, once the customer buys the offer, it can be redeemed for a discount on the cost of item being purchased.

This is a multi-step process that transpires in large part with the reward store. Customers must be qualified for a particular reward store and then, by extension, the offers it contains. Offers must be both retrieved and purchased from the reward store before the discount they provide can be applied to a purchase.

Customer Journey

One helpful way of understanding this use case is to consider how it reflects the customer's experience, or journey, in the "real world."

Customer logs into coffee retailer website

Customer reviews profile to see current state of available points

Customer navigates to reward store and begins order

Client middleware returns eligible reward store offers to customer

Customer reviews offers and decides to purchase "Buy 1 coffee and get a free muffin" offer

Client middleware executes purchase, spending required points, issuing it, and displaying it for customer

Customer buys coffee, triggering middleware to apply offer discount and finalize transaction

Customer visits store to pick up coffee and muffin on way to work

Platform Configuration

Before implementing this use case, ensure the following have been configured:

Offers

Offers configured in Offer Management module or via API.

Offers have been added to reward stores in Reward Store module (see step 2 of linked procedure) or via API.

Reward Store

Reward stores configured in Reward Store module or via Offer Management module or via API.

Points

Point accounts and corresponding point sources for customers to spend.

Sequence Diagram

See the overall flow for this use case below.

CUSTOMER CUSTOMER CLIENT MIDDLEWARE CLIENT MIDDLEWARE SESSIONM SESSIONM GET CUSTOMER PROFILE 1 Log in to retailer website 2 Get customer profile 3 Return customer profile 4 Display customer profile GET REWARD STORE OFFERS 5 Navigate to reward store page and start order 6 Get user eligible reward stores 7 Return user eligible reward stores 8 Get reward store offers 9 Return reward store offers 10 Display reward store offers PURCHASE REWARD STORE OFFER 11 Decide to purchase reward store offer 12 Purchase reward store offer 13 Return success message 14 Display offer FINALIZE AND SEND PURCHASE TRANSACTION 15 Purchase item(s) and finalize associated transaction Option 1: Without Offer 16 Send transaction Option 2: With Offer Option 2A: Lock Offer 17 Lock offer Option 2B: Redeem Offer Immediately 18 Redeem offer 19 Return success message 20 Send transaction 21 Enqueue transaction job 22 Return success message 23 Display success message Option 3: Economy Rules 24 Check transaction against economy ruleset 25 Award customer point or offer outcome Option 4: Campaign Rules 26 Check transaction against campaign ruleset 27 Award customer point or offer outcome

Tasks

This use case diagram contains multiple tasks, each one depicted in its own color-coded section. For more information, see the overview below.

  1. Get Customer Profile (Use Case Events #1 - #4)

    One typical way to obtain an existing customer profile.

  2. Get User Reward Stores and Reward Store Offers (Use Case Events #5 - #10)

    Efficient way to see all eligible offers from reward store.

  3. Purchase Reward Store Offer (Use Case Events #11 - #14)

    Commits available points to purchase offer and have it issued.

  4. Finalize and Send Purchase Transaction (Use Case Events #15 - #27)

    When offer is redeemed, associated discount is applied to overall purchase transaction.

Best Practices

When working with the SessionM platform to acquire a reward store offer and apply it to a purchase, ensure the following::

  • First remove the offer from the reward store if you are modifying the offer's definition. Then add the new version back into the reward store.
  • Make sure the relevant point accounts are set up for the reward store in order to avoid any errors.
  • You can hard code a reward store ID if your loyalty program has only one reward store for all users; doing so, bypasses the need to call the RewardStoresV2 endpoint, POST /api/2.0/offers/rewardstores/get_user_reward_stores.